#ifndef SHELL_H
#define SHELL_H

#include "api.h"

#define MAX_CMD_LEN 81
#define MAX_ARGS 7 //a command can expect MAX_ARGS args at most

/* All the commands the shell recognizes */

#define EXIT "exit"
#define START "start"
#define BLOCK "block"
#define DELAY "delay"
#define WAKE_UP "wake_up"
#define WAIT "wait"
#define CHPRIO "chprio"
#define PINFO "pinfo"
#define KILL "kill"
#define ECHO "echo"
#define ECHOLCD "echolcd"
#define HELP "help"
#define PS "ps"

/*
Every command is assigned a number. This file provides the matching between command names, like 'start' and the code e.g 1

*/

#define CMD_NOT_RECOGNIZED -1

#define CMD_EXIT_SHELL 0

#define CMD_START_PROC 1

#define CMD_CHANGE_PRIORITY 2

#define CMD_PINFO 3

#define CMD_TERMINATE 4

#define CMD_ECHO 5

#define CMD_ECHO_MALTA 6

#define CMD_HELP 7

#define CMD_DELAY 8

#define CMD_BLOCK 9

#define CMD_WAKE_UP 10

#define CMD_WAIT 11 

#define CMD_PS 12


void shell();

#endif
